其他
R语言元分析专题第四章:合并效应量
library(meta)
4.1.1Pre-calculated effect size data
m <- metagen(TE,
seTE,
data=madata,
studlab=paste(Author),
comb.fixed = TRUE,
comb.random = FALSE,
prediction=TRUE,
sm="SMD")
m
每个研究的单个效应量和它们的权重; 纳入研究的总数(k); 总体效应量(g= 0.48)及其置信区间和p值; 研究间的异质性测量,如tau2或I2,以及异质性的Q检验。
m$lower.I2
## [1] 0.3787897
sink("results.txt")
print(m)
sink()
4.1.2 Raw effect size data
原始数据(数据已经按照在3.1.1章中描述的方式准备好)使用meta::metacont()函数来替代3.1.1函数。这些代码的结构看起来非常相似。
m.raw <- metacont(Ne,
Me,
Se,
Nc,
Mc,
Sc,
data=metacont,
studlab=paste(Author),
comb.fixed = TRUE,
comb.random = FALSE,
prediction=TRUE,
sm="SMD")
m.raw
4.2 Random-Effects-Model
在此之前,讲述了如何使用metagen和metacont函数执行固定效应模型的元分析。
然而,固定效应模型仅适用于假定所有纳入元分析的研究都来自同一个总体(即各项研究的真实效应值相同),而在实际情况当中往往不是这样的。比如,各个研究的真实效应值可能会随着各项研究中的干预措施的不同,样本、研究方法的不同而更大或更小。在这种情况下,我们不能认为所有的研究都来自于同一个“总体”(我们没有理由假设所有研究的真实效应是相同的)。
同样地,一旦我们在使用固定效应模型进行元分析检验统计异质性,显示I2>0%的时候,就提示我们应该使用随机效应模型去进行元分析(I2:研究之间真实异质性占总变异的比重)。当然,在R当中,使用随机效应模型也并不繁琐。
4.2.1 Estimators for τ2 in the random-effects-model
操作上,在R中进行随机效应模型元分析与进行固定效应模型元分析并没有太大的不同。然而,我们选择τ2作为估计量。下面是在meta中实现的估计,在元分析代码中的使用method.tau变量。
4.2.2 Pre-calculated effect size data
library(meta)
library(metafor)
m.hksj <- metagen(TE,
seTE,
data = madata,
studlab = paste(Author),
comb.fixed = FALSE,
comb.random = TRUE,
method.tau = "SJ",
hakn = TRUE,
prediction = TRUE,
sm = "SMD")
m.hksj
m.dl <- metagen(TE,
seTE,
data=madata,
studlab=paste(Author),
comb.fixed = FALSE,
comb.random = TRUE,
hakn = FALSE,
prediction=TRUE,
sm="SMD")
m.dl
m.hksj.raw <- metacont(Ne,
Me,
Se,
Nc,
Mc,
Sc,
data = metacont,
studlab = paste(Author),
comb.fixed = FALSE,
comb.random = TRUE,
method.tau = "SJ",
hakn = TRUE,
prediction = TRUE,
sm = "SMD")
m.hksj.raw
4.3.1 Event rate data
load("_data/binarydata.RData")
str(binarydata)
m.bin <- metabin(Ee,
Ne,
Ec,
Nc,
data = binarydata,
studlab = paste(Author),
comb.fixed = FALSE,
comb.random = TRUE,
method.tau = "SJ",
hakn = TRUE,
prediction = TRUE,
incr = 0.1,
sm = "RR")
m.bin
4.3.2 Incidence rates
metainc(event.e,
time.e,
event.c,
time.c,
studlab = paste(Author),
data = IRR.data,
sm = "IRR",
method.tau = "DL",
comb.random = TRUE,
comb.fixed = FALSE,
hakn = TRUE)
4.3.3Pre-calculated effect sizes
bin.metagen$RR <- log(bin.metagen$RR)
bin.metagen$lower <- log(bin.metagen$lower)
bin.metagen$upper <- log(bin.metagen$upper)
bin.metagen$seTE <- (bin.metagen$upper - bin.metagen$lower)/3.92
metagen(RR,
seTE,
studlab = Author,
method.tau = "SJ",
sm = "RR",
data = bin.metagen)
m.cor <- metacor(cor,
n,
data = cordata,
studlab = cordata$Author,
sm = "ZCOR",
method.tau = "SJ")
R元分析专题介绍:本活动是由荷兰心理统计联盟组织的第三次线上同辈互助学习活动,小组成员每周学习一章,并整理笔记录屏内容共享,从R基础到元分析效应量计算,作图,元分析高阶,如多水平meta, MetaSEM, network Meta-Analysis 。学习资料为《Doing Meta-Analsis in R 》这本书。笔记为小组成员整理(付费与否全由小组成员决定)